A blur of an image in a screen such as a television screen is caused by movement of a subject while it is imaged and by parallel movement (pan) of a camera in general. In addition, movement of the image caused by vibration of the camera or the like according to the condition of shooting also sometimes causes the blur. For example, in case of telescopic shooting, since an angle of view is small, only small vibration causes large blur in the image, which causes a visual hindrance. In addition, when a user shoots scenes with a video camera in his hand while moving or he is in a helicopter or the like, vibration of the camera also causes the blur of the screen.
As measures against the above, a blur proofing apparatus using a gyro sensor is provided. This apparatus moves a position or an optical axis in the reverse direction by an amount of displacement detected by the gyro sensor to control and correct it.
Meanwhile, it is proposed that the blur is corrected by electrically processing the image information.
FIG. 6 is a block diagram showing a general structure of a conventional image blur correcting apparatus in which the image information is electrically processed. In FIG. 6, reference numeral 601 designates an analog/digital converter (referred to as an A/D converter hereinafter), reference numeral 602 designates a memory which writes and reads an input signal, reference numeral 12 designates a moving vector detecting circuit which detects a direction and size of blur of the input signal, reference numeral 603 designates a memory reading control circuit which controls a readout address of the memory 602 in accordance with the movement from the moving vector detecting circuit 12, reference numeral 604 designates an interpolation circuit which expands and interpolates a part of a video signal read from the memory 602 and reference numeral 605 designates a digital/analog converter (referred to as a D/A converter hereinafter).
Next, a blur correcting operation of this structure will be described hereinafter.
The input video signal is sampled at a constant sampling frequency and converted to a digital signal by the A/D converter 601 and then it is written in the memory 602.
In addition, the moving vector detecting circuit 12 detects movement (speed) in each frame from the correlation between continuous frames. The memory reading control circuit 603 reads a part of signals written in the memory 602 by moving a reference point (readout address) in accordance with an amount of movement obtained by the moving vector detecting circuit 12. The read signal is expanded and interpolated to an original screen size by the interpolation circuit 604 and then converted to a video signal by the D/A converter 605 and then it is output.
FIG. 7 is a view in which a signal is read from the memory 602 by moving the reference point. Reference character W designates a region in which the input signal is written in the memory, which is always constant. Reference character R.sub.0 is a region in which a signal is read from the memory when an amount of movement is 0. Further, reference character R.sub.xy is a region in which a signal is read from the memory when the amount of movement is x in the horizontal direction and y in the vertical direction. The amount of movement can be obtained by integrating the movement (speed) in each frame which is found during the moving vector detection. Thus, accumulation of errors caused by the integration can be prevented by bringing the readout region to the R.sub.0 in stable time.
Meanwhile, in this image blur correcting apparatus, it is ideal to calculate how far and in which direction each pixel in the image moved, to detect the amount of blur of the image between frames and this method shows the best precision in vector detection. However, it requires a large-scale hardware and takes a lot of time. Thus it is difficult to realize the above method. Thus, there is a general method for determining the moving vector in the whole screen by finding an amount of movement of several pixels (referred to as representative points hereinafter) in the screen.
FIG. 16 is a block diagram showing a general representative point calculating circuit. FIGS. 17A and 17B illustrate the relationship between a block in the image and a representative point in a conventional example. The image of one field is divided into the prescribed number of blocks 115 and one representative point R.sub.ij 114 is provided in the center of each block. The level difference between the representative point in the previous frame and the whole pixels S.sub.i+x, j+y 116 in the block is calculated in each block.
Referring to FIG. 16, an input video signal (a) is A/D converted by the A/D converter 101 and then a prescribed pixel to become the representative point 114 in the block 115 is written in the representative point memory 103 through a latch circuit 102. Data stored in the representative point memory 103 is read one frame later and applied to an absolute value circuit 106 through a latch circuit 104. On the other hand, the other A/D converted data of the video signal is applied to the absolute value circuit 106 through a latch circuit 105. The absolute value of the difference between the representative point signal (b) of the previous frame output from the latch circuit 104 and the pixel signal (c) of the present frame is calculated by the absolute value circuit 106. This calculation is made in each block and an output signal (d) from the absolute value circuit 106 is added one after another to tables corresponding to the same address of the pixel in each block of the accumulated addition table 108. The result of addition in the tables is input to a table value comparator 109 and finally it is determined how far and in which direction the image position moved for one frame, that is, a moving vector value (e) is determined from an address in which the result of addition is the minimum. More specifically, the absolute value of the difference between the representative point R.sub.ij and a signal S.sub.i+x, j+y positioned in a horizontal direction x and a vertical direction y is found. It is then is added to x and y of the same position to each representative point and is then set as D.sub.xy. At this time, the D.sub.xy is represented as follows; EQU D.sub.xy =.SIGMA..vertline.R.sub.ij -S.sub.i+x, j+y .vertline.
Then, the minimum x and y in the D.sub.xy are set as moving vectors in the horizontal direction and vertical direction, respectively.
At this time, one block in which the representative point is positioned at the center thereof shows a size of the vector, that is, a range in which the vector can correct the image. In addition, in view of the accumulated addition, the more the number of additions is, the more the precision of detecting the vector is improved. Thus, the moving vector is obtained by adding the representative points in the whole screen, that is, averaging the movement of the whole screen.
Although the conventional imaging apparatus has the above structure in which the gyro sensor is used for detecting blur, the sensor is expensive and it is necessary to determine a position of the sensor and also to secure a space therefor.
In addition, in order to prevent the image from being degraded, an A/D converter and a D/A converter with high precision, a memory with large capacity and a large-scale circuit for memory control or expansion and interpolation are. The result is that the system costs a lot and also current consumption becomes large. In addition, since the corrected signal is a part of the continuously input signals, an amount of information is reduced and resolution of that signal is low. If a range of correction is increased in order to correct blur, the amount of information is further reduced and the resolution is also lowered. Therefore, the range of correction can not be increased so much.
In addition, according to the above structure of the moving vector detecting circuit, since the moving vector is found in a plane manner (two dimensionally), the accumulated addition tables whose number corresponds to the number of whole pixels in the block are necessary. For example, if the number of the pixels are 32 in the horizontal direction and 16 in the vertical direction, 512 (=32.times.16) accumulated addition tables are necessary, with the result being that the scale of the circuit is increased. In addition, when the moving vector is calculated, whole data in the accumulated addition tables are compared, with the result being that the number of times of comparison is very large and also it takes a lot of time.
In addition, according to the moving vector detecting apparatus in the above conventional image blur correcting apparatus, movement over the whole screen is averaged, so that arrangement of the blocks for detecting the moving vector is not always symmetrical about the center of the screen. Therefore, although the moving vector can be well detected when the image only moves in parallel, the moving vector often can not be detected when the image is zoomed in or out. In addition, when the vector is wrongly detected, it is more conspicuous at the time of zooming operation than that at the time of parallel movement, which looks strange for the user.